package com.jh.paymentchannel.business;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.time.LocalDate;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;


/**
 * {@link com.jh.paymentchannel.pojo.PaymentOrderStatistic} entity business interface.
 *
 * @author Fuchun
 * @since 1.0
 */
public interface PaymentOrderStatisticBusiness {

    /**
     * 统计给定日期的上一周的成交交易额及相关分润。
     *
     * @param statsDate 给定的统计日期。
     * @return 返回生成的统计记录数（交易的用户数）。
     */
    Long statsLastWeekOrders(LocalDate statsDate);

    Page<Long> statsLastWeekOrders(LocalDate statsDate, Pageable pageable);

    Map<Long, Boolean> verifySyncPosIds(Collection<Long> posIds);

    Long syncPosToUser(Pageable pageable);
}
